home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™94 / Talks & Papers / Timothy Knox / Help / Help Files / Foreign Code / foreign.a < prev    next >
Text File  |  1994-06-24  |  4KB  |  169 lines

  1.     
  2.     BLANKS OFF
  3.     LOAD    'EquatesHelp1'
  4.     LOAD    'EquatesHelp2'
  5.     
  6.     MACHINE MC68030
  7.     
  8. ***********************************************************************************
  9.     SEG        'PseudoMain'
  10. ImportThem    MAIN
  11.  
  12.     IMPORT (%Fib):CODE
  13.  
  14.         JSR    %Fib
  15.         
  16.         ENDP
  17. ***********************************************************************************
  18.     SEG        'Fib'
  19. **************************************************************************
  20. * Fibonnacci by the compiler
  21. **************************************************************************
  22.         
  23.         Thunk    %Fib
  24.         
  25.         MOVE.L    #4,D0
  26.         JSR    $04E0+2(A5)
  27.         MOVE.B    #17,-3(A0)
  28.         MOVE.L    R2,4(A0)
  29.         MOVE.L    A0,R2
  30.         LEA    8(A0),A0
  31.         MOVE.L    -(LP),(a0)+
  32.         POP1
  33.         MOVE.L    R2,(LP)+
  34.         MOVE.L    datinf,(Lp)+
  35.         MOVE.L    8(R2),(Lp)+
  36.         MOVE.L    dat2,(Lp)+
  37.         MOVE.L    datinf,A0
  38.         MOVE.L    4(A0),R2
  39.         MOVE.L    (A0),A0
  40.         JSR    8(A0)
  41.         MOVE.L    -(Lp),R2
  42.         CMP.L    False,R0
  43.         BEQ.S    condfaux
  44.         MOVE.L    Dat1,R0
  45.         RTS
  46. condfaux    MOVE.L    Datplus,(LP)+
  47.         MOVE.L    R2,(Lp)+
  48.         MOVE.L    DatFibc,(Lp)+
  49.         MOVE.L    Datunms,(LP)+
  50.         MOVE.L    8(R2),(LP)+
  51.         MOVE.L    Datunms,a0
  52.         MOVE.L    4(A0),R2
  53.         MOVE.L    (A0),A0
  54.         JSR    8(A0)
  55.         MOVE.L    R0,(LP)+
  56.         MOVE.L    DatFibC,a0
  57.         MOVE.L    4(A0),R2
  58.         MOVE.L    (A0),A0
  59.         jsr    8(A0)
  60.         MOVE.L    -(Lp),R2
  61.         MOVE.L    R0,(Lp)+
  62.         MOVE.L    DatFibc,(Lp)+
  63.         MOVE.L    DatMs,(Lp)+
  64.         MOVE.L    8(R2),(Lp)+
  65.         MOVE.L    Dat2,(Lp)+
  66.         MOVE.L    Datms,A0
  67.         MOVE.L    4(A0),R2
  68.         MOVE.L    (A0),A0
  69.         JSR    8(A0)
  70.         MOVE.l    R0,(Lp)+
  71.         MOVE.L    DatFibC,A0
  72.         MOVE.L    4(A0),R2
  73.         MOVE.L    (A0),A0
  74.         JSR    8(A0)
  75.         MOVE.L    R0,(LP)+
  76.         MOVE.L    Datplus,A0
  77.         MOVE.l    4(A0),R2
  78.         MOVE.L    (A0),A0
  79.         JMP    8(A0)
  80.         
  81.         EndCode
  82.                 
  83. datinf        DS.L    1
  84. dat2        DS.L    1
  85. dat1        DS.L    1
  86. datplus        DS.L    1
  87. DatFibC        DS.L    1
  88. DatUnms    DS.L    1
  89. DatMS        DS.L    1
  90. False        DS.L    1
  91.         
  92.         EndThunk
  93. ***********************************************************************************
  94.         SEG        'F1'
  95.         Thunk    %f1
  96.         EndCode
  97.         EndThunk
  98. ***********************************************************************************
  99.         SEG        'F2'
  100.         Thunk    %f2
  101.         EndCode
  102.         EndThunk
  103. ***********************************************************************************
  104.         SEG        'F3'
  105.         Thunk    %f3
  106.         EndCode
  107.         EndThunk
  108. ***********************************************************************************
  109.         SEG        'F4'
  110.         Thunk    %f4
  111.         EndCode
  112.         EndThunk
  113. ***********************************************************************************
  114.         SEG        'F5'
  115.         Thunk    %f5
  116.         EndCode
  117.         EndThunk
  118. ***********************************************************************************
  119.         SEG        'F6'
  120.         Thunk    %f6
  121.         EndCode
  122.         EndThunk
  123. ***********************************************************************************
  124.         SEG        'F7'
  125.         Thunk    %f7
  126.         EndCode
  127.         EndThunk
  128. ***********************************************************************************
  129.         SEG        'F8'
  130.         Thunk    %f8
  131.         EndCode
  132.         EndThunk
  133. ***********************************************************************************
  134.         SEG        'F9'
  135.         Thunk    %f9
  136.         EndCode
  137.         EndThunk
  138. ***********************************************************************************
  139.         SEG        'Fa'
  140.         Thunk    %fa
  141.         EndCode
  142.         EndThunk
  143. ***********************************************************************************
  144.         SEG        'Fb'
  145.         Thunk    %fb
  146.         EndCode
  147.         EndThunk
  148. ***********************************************************************************
  149.         SEG        'Fc'
  150.         Thunk    %fc
  151.         EndCode
  152.         EndThunk
  153. ***********************************************************************************
  154.         SEG        'Fd'
  155.         Thunk    %fd
  156.         EndCode
  157.         EndThunk
  158. ***********************************************************************************
  159.         SEG        'Fe'
  160.         Thunk    %fe
  161.         EndCode
  162.         EndThunk
  163. ***********************************************************************************
  164.         SEG        'Ff'
  165.         Thunk    %ff
  166.         EndCode
  167.         EndThunk
  168. ***********************************************************************************
  169.     END